#include<iostream>
#include<algorithm>
using namespace std;
struct o{
	int value;
	bool visit=false; 
};  
bool comp(o x,o y){
	return x.value<y.value;
}
int main(){
	int n,k;
	cin>>n>>k;
	o a[n+1];
	for(int i=0;i<n;i++){
		cin>>a[i].value;
	}
	a[n].value=k;
	int a1=k,count=0;
	sort(a,a+n+1,comp);
	int kkk=0;
	for(int i=0;i<=n;i++){
		if(a[i].value==k){
			kkk=i;
		}
	}
	int ok=0;
	int z,y,q=kkk,q1=kkk,aiw=kkk;
	a[kkk].visit=true;
	while(1){
		q=aiw;
		q1=aiw;
		z=0;
		y=0;
		int z1=0;
		int y1=z1;
		while(q>=0){
			q--;
			if(q<0){
				break;
			}
			if(a[q].visit==false){
				z=a[q].value;
				ok=1;
				z1=1;
				break;
			} 
		}
		while(q1<=n){
			q1++;
            if(q1>n){
				break;
			}
			if(a[q1].visit==false){
				y=a[q1].value;
				ok=1;
				y1=1;
				break;
			}
		}
		if(ok==0){
			break;
		}
		if(z1==0){
			count+=(y-a1);
 			a1=y;
 			a[q1].visit=true;
		}
		else if(y1==0){
			count+=(a1-z);
 			a1=z;
 			a[q].visit=true;
		}
		else{
			if((a1-z)<(y-a1)){
				count+=(a1-z);
				a1=z;
				a[q].visit=true;
				aiw=q;
			}
			else{
	 			count+=(y-a1);
	 			a1=y;
	 			a[q1].visit=true;
	 			aiw=q1;
			}
		}
		ok=0;
	}
	cout<<count; 
} 
